home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / FGL402F.ZIP / EXFOR.ARJ / TEMP / 06-01.FOR < prev    next >
Text File  |  1995-01-20  |  2KB  |  67 lines

  1. $INCLUDE: 'C:\FG\FASTGRAF.FI'
  2.  
  3.       PROGRAM MAIN
  4.  
  5.       INTEGER AREA
  6.       INTEGER COLOR, COLORS
  7.       INTEGER LEFT
  8.       INTEGER NEW_MODE, OLD_MODE
  9.       INTEGER X_RANGE, Y_RANGE
  10.       INTEGER X, Y
  11.       INTEGER FG_AUTOMODE, FG_COLORS, FG_GETMAXX, FG_GETMAXY
  12.       INTEGER FG_GETMODE, FG_GETPIXEL
  13.       INTEGER RANDOM
  14.  
  15.       CALL FG_INITPM
  16.       OLD_MODE = FG_GETMODE()
  17.       NEW_MODE = FG_AUTOMODE()
  18.       CALL FG_SETMODE(NEW_MODE)
  19.  
  20.       COLORS = FG_COLORS()
  21.       X_RANGE = FG_GETMAXX() - 1
  22.       Y_RANGE = FG_GETMAXY() - 1
  23.       LEFT = 100
  24.  
  25. 10    IF (LEFT .GT. 0) THEN
  26.  
  27.          X = RANDOM(1,X_RANGE)
  28.          Y = RANDOM(1,Y_RANGE)
  29.  
  30.          AREA = FG_GETPIXEL(X-1,Y-1) + FG_GETPIXEL(X,Y-1) +
  31.      +          FG_GETPIXEL(X+1,Y-1) + FG_GETPIXEL(X-1,Y) +
  32.      +          FG_GETPIXEL(X,Y)     + FG_GETPIXEL(X+1,Y) +
  33.      +          FG_GETPIXEL(X-1,Y+1) + FG_GETPIXEL(X,Y+1) +
  34.      +          FG_GETPIXEL(X+1,Y+1)
  35.  
  36.          IF (AREA .EQ. 0) THEN
  37.             COLOR = RANDOM(1,COLORS)
  38.             CALL FG_SETCOLOR(COLOR)
  39.             CALL FG_POINT(X,Y)
  40.             LEFT = LEFT - 1
  41.          END IF
  42.  
  43.          GO TO 10
  44.       END IF
  45.  
  46.       CALL FG_WAITKEY
  47.  
  48.       CALL FG_SETMODE(OLD_MODE)
  49.       CALL FG_RESET
  50.  
  51.       STOP ' '
  52.       END
  53.  
  54.       INTEGER FUNCTION RANDOM(MIN,MAX)
  55.  
  56.       INTEGER MIN, MAX
  57.       INTEGER SEED, TEMP
  58.  
  59.       DATA SEED /12345/
  60.  
  61.       TEMP = IEOR(SEED,ISHFT(SEED,-7))
  62.       SEED = IAND(IEOR(ISHFT(TEMP,8),TEMP),#7FFF)
  63.       RANDOM = MOD(SEED,MAX-MIN+1) + MIN
  64.  
  65.       RETURN
  66.       END
  67.